Imports Clo = Enhancements.Core.Logging
Imports Ref = System.Reflection
Imports Sys = System

Namespace Enhancements.Basic.Expressions
    ''' <summary>The exception that is thrown when a string array contains at least one string that is valid but repeated identifier.</summary>
    <Serializable(), DebuggerStepThrough()> _
    Public NotInheritable Class IdentifiersAreValidAndRepeatedException
        Inherits IdentifierException

        Private Sub New(ByVal _strings() As System.String)
            MyBase.New()
            Strings = _strings
        End Sub

        Private __Strings() As System.String = Nothing
        ''' <summary>Gets the values of the strings that caused this exception.</summary>
        Public Property Strings() As System.String()
            Get
                Return __Strings
            End Get
            Private Set(ByVal _value() As System.String)
                __Strings = _value
            End Set
        End Property

        ''' <summary>Throws an exception.</summary>
        ''' <param name="_strings">Strings that are causing the exception.</param>
        ''' <exception cref="IdentifiersAreValidAndRepeatedException"> </exception>
        Friend Shared Sub ___Throw(ByVal _strings() As System.String)
            Dim _exception As IdentifiersAreValidAndRepeatedException = New IdentifiersAreValidAndRepeatedException(_strings)

            Throw _exception
        End Sub

    End Class
End Namespace
